home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 24 / AACD 24.iso / AACD / Programming / gcc-2.95.3-3 / info / g77.info-9 < prev    next >
Encoding:
GNU Info File  |  2001-07-15  |  49.2 KB  |  1,769 lines

  1. This is Info file f/g77.info, produced by Makeinfo version 1.68 from
  2. the input file ./f/g77.texi.
  3.  
  4. INFO-DIR-SECTION Programming
  5. START-INFO-DIR-ENTRY
  6. * g77: (g77).                  The GNU Fortran compiler.
  7. END-INFO-DIR-ENTRY
  8.    This file documents the use and the internals of the GNU Fortran
  9. (`g77') compiler.  It corresponds to the GCC-2.95 version of `g77'.
  10.  
  11.    Published by the Free Software Foundation 59 Temple Place - Suite 330
  12. Boston, MA 02111-1307 USA
  13.  
  14.    Copyright (C) 1995-1999 Free Software Foundation, Inc.
  15.  
  16.    Permission is granted to make and distribute verbatim copies of this
  17. manual provided the copyright notice and this permission notice are
  18. preserved on all copies.
  19.  
  20.    Permission is granted to copy and distribute modified versions of
  21. this manual under the conditions for verbatim copying, provided also
  22. that the sections entitled "GNU General Public License," "Funding for
  23. Free Software," and "Protect Your Freedom--Fight `Look And Feel'" are
  24. included exactly as in the original, and provided that the entire
  25. resulting derived work is distributed under the terms of a permission
  26. notice identical to this one.
  27.  
  28.    Permission is granted to copy and distribute translations of this
  29. manual into another language, under the above conditions for modified
  30. versions, except that the sections entitled "GNU General Public
  31. License," "Funding for Free Software," and "Protect Your Freedom--Fight
  32. `Look And Feel'", and this permission notice, may be included in
  33. translations approved by the Free Software Foundation instead of in the
  34. original English.
  35.  
  36.    Contributed by James Craig Burley (<craig@jcb-sc.com>).  Inspired by
  37. a first pass at translating `g77-0.5.16/f/DOC' that was contributed to
  38. Craig by David Ronis (<ronis@onsager.chem.mcgill.ca>).
  39.  
  40. 
  41. File: g77.info,  Node: Index Intrinsic,  Next: Int Intrinsic,  Prev: ImagPart Intrinsic,  Up: Table of Intrinsic Functions
  42.  
  43. Index Intrinsic
  44. ...............
  45.  
  46.      Index(STRING, SUBSTRING)
  47.  
  48. Index: `INTEGER(KIND=1)' function.
  49.  
  50. STRING: `CHARACTER'; scalar; INTENT(IN).
  51.  
  52. SUBSTRING: `CHARACTER'; scalar; INTENT(IN).
  53.  
  54. Intrinsic groups: (standard FORTRAN 77).
  55.  
  56. Description:
  57.  
  58.    Returns the position of the start of the first occurrence of string
  59. SUBSTRING as a substring in STRING, counting from one.  If SUBSTRING
  60. doesn't occur in STRING, zero is returned.
  61.  
  62. 
  63. File: g77.info,  Node: Int Intrinsic,  Next: Int2 Intrinsic,  Prev: Index Intrinsic,  Up: Table of Intrinsic Functions
  64.  
  65. Int Intrinsic
  66. .............
  67.  
  68.      Int(A)
  69.  
  70. Int: `INTEGER(KIND=1)' function.
  71.  
  72. A: `INTEGER', `REAL', or `COMPLEX'; scalar; INTENT(IN).
  73.  
  74. Intrinsic groups: (standard FORTRAN 77).
  75.  
  76. Description:
  77.  
  78.    Returns A with the fractional portion of its magnitude truncated and
  79. its sign preserved, converted to type `INTEGER(KIND=1)'.
  80.  
  81.    If A is type `COMPLEX', its real part is truncated and converted,
  82. and its imaginary part is disregarded.
  83.  
  84.    *Note NInt Intrinsic::, for how to convert, rounded to nearest whole
  85. number.
  86.  
  87.    *Note AInt Intrinsic::, for how to truncate to whole number without
  88. converting.
  89.  
  90. 
  91. File: g77.info,  Node: Int2 Intrinsic,  Next: Int8 Intrinsic,  Prev: Int Intrinsic,  Up: Table of Intrinsic Functions
  92.  
  93. Int2 Intrinsic
  94. ..............
  95.  
  96.      Int2(A)
  97.  
  98. Int2: `INTEGER(KIND=6)' function.
  99.  
  100. A: `INTEGER', `REAL', or `COMPLEX'; scalar; INTENT(IN).
  101.  
  102. Intrinsic groups: `gnu'.
  103.  
  104. Description:
  105.  
  106.    Returns A with the fractional portion of its magnitude truncated and
  107. its sign preserved, converted to type `INTEGER(KIND=6)'.
  108.  
  109.    If A is type `COMPLEX', its real part is truncated and converted,
  110. and its imaginary part is disgregarded.
  111.  
  112.    *Note Int Intrinsic::.
  113.  
  114.    The precise meaning of this intrinsic might change in a future
  115. version of the GNU Fortran language, as more is learned about how it is
  116. used.
  117.  
  118. 
  119. File: g77.info,  Node: Int8 Intrinsic,  Next: IOr Intrinsic,  Prev: Int2 Intrinsic,  Up: Table of Intrinsic Functions
  120.  
  121. Int8 Intrinsic
  122. ..............
  123.  
  124.      Int8(A)
  125.  
  126. Int8: `INTEGER(KIND=2)' function.
  127.  
  128. A: `INTEGER', `REAL', or `COMPLEX'; scalar; INTENT(IN).
  129.  
  130. Intrinsic groups: `gnu'.
  131.  
  132. Description:
  133.  
  134.    Returns A with the fractional portion of its magnitude truncated and
  135. its sign preserved, converted to type `INTEGER(KIND=2)'.
  136.  
  137.    If A is type `COMPLEX', its real part is truncated and converted,
  138. and its imaginary part is disgregarded.
  139.  
  140.    *Note Int Intrinsic::.
  141.  
  142.    The precise meaning of this intrinsic might change in a future
  143. version of the GNU Fortran language, as more is learned about how it is
  144. used.
  145.  
  146. 
  147. File: g77.info,  Node: IOr Intrinsic,  Next: IRand Intrinsic,  Prev: Int8 Intrinsic,  Up: Table of Intrinsic Functions
  148.  
  149. IOr Intrinsic
  150. .............
  151.  
  152.      IOr(I, J)
  153.  
  154. IOr: `INTEGER' function, the exact type being the result of
  155. cross-promoting the types of all the arguments.
  156.  
  157. I: `INTEGER'; scalar; INTENT(IN).
  158.  
  159. J: `INTEGER'; scalar; INTENT(IN).
  160.  
  161. Intrinsic groups: `mil', `f90', `vxt'.
  162.  
  163. Description:
  164.  
  165.    Returns value resulting from boolean OR of pair of bits in each of I
  166. and J.
  167.  
  168. 
  169. File: g77.info,  Node: IRand Intrinsic,  Next: IsaTty Intrinsic,  Prev: IOr Intrinsic,  Up: Table of Intrinsic Functions
  170.  
  171. IRand Intrinsic
  172. ...............
  173.  
  174.      IRand(FLAG)
  175.  
  176. IRand: `INTEGER(KIND=1)' function.
  177.  
  178. FLAG: `INTEGER'; OPTIONAL; scalar; INTENT(IN).
  179.  
  180. Intrinsic groups: `unix'.
  181.  
  182. Description:
  183.  
  184.    Returns a uniform quasi-random number up to a system-dependent limit.
  185. If FLAG is 0, the next number in sequence is returned; if FLAG is 1,
  186. the generator is restarted by calling the UNIX function `srand(0)'; if
  187. FLAG has any other value, it is used as a new seed with `srand()'.
  188.  
  189.    *Note SRand Intrinsic::.
  190.  
  191.    *Note:* As typically implemented (by the routine of the same name in
  192. the C library), this random number generator is a very poor one, though
  193. the BSD and GNU libraries provide a much better implementation than the
  194. `traditional' one.  On a different system you almost certainly want to
  195. use something better.
  196.  
  197. 
  198. File: g77.info,  Node: IsaTty Intrinsic,  Next: IShft Intrinsic,  Prev: IRand Intrinsic,  Up: Table of Intrinsic Functions
  199.  
  200. IsaTty Intrinsic
  201. ................
  202.  
  203.      IsaTty(UNIT)
  204.  
  205. IsaTty: `LOGICAL(KIND=1)' function.
  206.  
  207. UNIT: `INTEGER'; scalar; INTENT(IN).
  208.  
  209. Intrinsic groups: `unix'.
  210.  
  211. Description:
  212.  
  213.    Returns `.TRUE.' if and only if the Fortran I/O unit specified by
  214. UNIT is connected to a terminal device.  See `isatty(3)'.
  215.  
  216. 
  217. File: g77.info,  Node: IShft Intrinsic,  Next: IShftC Intrinsic,  Prev: IsaTty Intrinsic,  Up: Table of Intrinsic Functions
  218.  
  219. IShft Intrinsic
  220. ...............
  221.  
  222.      IShft(I, SHIFT)
  223.  
  224. IShft: `INTEGER' function, the `KIND=' value of the type being that of
  225. argument I.
  226.  
  227. I: `INTEGER'; scalar; INTENT(IN).
  228.  
  229. SHIFT: `INTEGER'; scalar; INTENT(IN).
  230.  
  231. Intrinsic groups: `mil', `f90', `vxt'.
  232.  
  233. Description:
  234.  
  235.    All bits representing I are shifted SHIFT places.  `SHIFT.GT.0'
  236. indicates a left shift, `SHIFT.EQ.0' indicates no shift and
  237. `SHIFT.LT.0' indicates a right shift.  If the absolute value of the
  238. shift count is greater than `BIT_SIZE(I)', the result is undefined.
  239. Bits shifted out from the left end or the right end are lost.  Zeros
  240. are shifted in from the opposite end.
  241.  
  242.    *Note IShftC Intrinsic::, for the circular-shift equivalent.
  243.  
  244. 
  245. File: g77.info,  Node: IShftC Intrinsic,  Next: ISign Intrinsic,  Prev: IShft Intrinsic,  Up: Table of Intrinsic Functions
  246.  
  247. IShftC Intrinsic
  248. ................
  249.  
  250.      IShftC(I, SHIFT, SIZE)
  251.  
  252. IShftC: `INTEGER' function, the `KIND=' value of the type being that of
  253. argument I.
  254.  
  255. I: `INTEGER'; scalar; INTENT(IN).
  256.  
  257. SHIFT: `INTEGER'; scalar; INTENT(IN).
  258.  
  259. SIZE: `INTEGER'; scalar; INTENT(IN).
  260.  
  261. Intrinsic groups: `mil', `f90', `vxt'.
  262.  
  263. Description:
  264.  
  265.    The rightmost SIZE bits of the argument I are shifted circularly
  266. SHIFT places, i.e. the bits shifted out of one end are shifted into the
  267. opposite end.  No bits are lost.  The unshifted bits of the result are
  268. the same as the unshifted bits of I.  The  absolute value of the
  269. argument SHIFT must be less than or equal to SIZE.  The value of SIZE
  270. must be greater than or equal to one and less than or equal to
  271. `BIT_SIZE(I)'.
  272.  
  273.    *Note IShft Intrinsic::, for the logical shift equivalent.
  274.  
  275. 
  276. File: g77.info,  Node: ISign Intrinsic,  Next: ITime Intrinsic,  Prev: IShftC Intrinsic,  Up: Table of Intrinsic Functions
  277.  
  278. ISign Intrinsic
  279. ...............
  280.  
  281.      ISign(A, B)
  282.  
  283. ISign: `INTEGER(KIND=1)' function.
  284.  
  285. A: `INTEGER(KIND=1)'; scalar; INTENT(IN).
  286.  
  287. B: `INTEGER(KIND=1)'; scalar; INTENT(IN).
  288.  
  289. Intrinsic groups: (standard FORTRAN 77).
  290.  
  291. Description:
  292.  
  293.    Archaic form of `SIGN()' that is specific to one type for A and B.
  294. *Note Sign Intrinsic::.
  295.  
  296. 
  297. File: g77.info,  Node: ITime Intrinsic,  Next: Kill Intrinsic (subroutine),  Prev: ISign Intrinsic,  Up: Table of Intrinsic Functions
  298.  
  299. ITime Intrinsic
  300. ...............
  301.  
  302.      CALL ITime(TARRAY)
  303.  
  304. TARRAY: `INTEGER(KIND=1)'; DIMENSION(3); INTENT(OUT).
  305.  
  306. Intrinsic groups: `unix'.
  307.  
  308. Description:
  309.  
  310.    Returns the current local time hour, minutes, and seconds in elements
  311. 1, 2, and 3 of TARRAY, respectively.
  312.  
  313. 
  314. File: g77.info,  Node: Kill Intrinsic (subroutine),  Next: Kind Intrinsic,  Prev: ITime Intrinsic,  Up: Table of Intrinsic Functions
  315.  
  316. Kill Intrinsic (subroutine)
  317. ...........................
  318.  
  319.      CALL Kill(PID, SIGNAL, STATUS)
  320.  
  321. PID: `INTEGER'; scalar; INTENT(IN).
  322.  
  323. SIGNAL: `INTEGER'; scalar; INTENT(IN).
  324.  
  325. STATUS: `INTEGER(KIND=1)'; OPTIONAL; scalar; INTENT(OUT).
  326.  
  327. Intrinsic groups: `unix'.
  328.  
  329. Description:
  330.  
  331.    Sends the signal specified by SIGNAL to the process PID.  If the
  332. STATUS argument is supplied, it contains 0 on success or a non-zero
  333. error code upon return.  See `kill(2)'.
  334.  
  335.    Some non-GNU implementations of Fortran provide this intrinsic as
  336. only a function, not as a subroutine, or do not support the (optional)
  337. STATUS argument.
  338.  
  339.    For information on other intrinsics with the same name: *Note Kill
  340. Intrinsic (function)::.
  341.  
  342. 
  343. File: g77.info,  Node: Kind Intrinsic,  Next: LBound Intrinsic,  Prev: Kill Intrinsic (subroutine),  Up: Table of Intrinsic Functions
  344.  
  345. Kind Intrinsic
  346. ..............
  347.  
  348.    This intrinsic is not yet implemented.  The name is, however,
  349. reserved as an intrinsic.  Use `EXTERNAL Kind' to use this name for an
  350. external procedure.
  351.  
  352. 
  353. File: g77.info,  Node: LBound Intrinsic,  Next: Len Intrinsic,  Prev: Kind Intrinsic,  Up: Table of Intrinsic Functions
  354.  
  355. LBound Intrinsic
  356. ................
  357.  
  358.    This intrinsic is not yet implemented.  The name is, however,
  359. reserved as an intrinsic.  Use `EXTERNAL LBound' to use this name for an
  360. external procedure.
  361.  
  362. 
  363. File: g77.info,  Node: Len Intrinsic,  Next: Len_Trim Intrinsic,  Prev: LBound Intrinsic,  Up: Table of Intrinsic Functions
  364.  
  365. Len Intrinsic
  366. .............
  367.  
  368.      Len(STRING)
  369.  
  370. Len: `INTEGER(KIND=1)' function.
  371.  
  372. STRING: `CHARACTER'; scalar.
  373.  
  374. Intrinsic groups: (standard FORTRAN 77).
  375.  
  376. Description:
  377.  
  378.    Returns the length of STRING.
  379.  
  380.    If STRING is an array, the length of an element of STRING is
  381. returned.
  382.  
  383.    Note that STRING need not be defined when this intrinsic is invoked,
  384. since only the length, not the content, of STRING is needed.
  385.  
  386.    *Note Bit_Size Intrinsic::, for the function that determines the
  387. size of its argument in bits.
  388.  
  389. 
  390. File: g77.info,  Node: Len_Trim Intrinsic,  Next: LGe Intrinsic,  Prev: Len Intrinsic,  Up: Table of Intrinsic Functions
  391.  
  392. Len_Trim Intrinsic
  393. ..................
  394.  
  395.      Len_Trim(STRING)
  396.  
  397. Len_Trim: `INTEGER(KIND=1)' function.
  398.  
  399. STRING: `CHARACTER'; scalar; INTENT(IN).
  400.  
  401. Intrinsic groups: `f90'.
  402.  
  403. Description:
  404.  
  405.    Returns the index of the last non-blank character in STRING.
  406. `LNBLNK' and `LEN_TRIM' are equivalent.
  407.  
  408. 
  409. File: g77.info,  Node: LGe Intrinsic,  Next: LGt Intrinsic,  Prev: Len_Trim Intrinsic,  Up: Table of Intrinsic Functions
  410.  
  411. LGe Intrinsic
  412. .............
  413.  
  414.      LGe(STRING_A, STRING_B)
  415.  
  416. LGe: `LOGICAL(KIND=1)' function.
  417.  
  418. STRING_A: `CHARACTER'; scalar; INTENT(IN).
  419.  
  420. STRING_B: `CHARACTER'; scalar; INTENT(IN).
  421.  
  422. Intrinsic groups: (standard FORTRAN 77).
  423.  
  424. Description:
  425.  
  426.    Returns `.TRUE.' if `STRING_A.GE.STRING_B', `.FALSE.' otherwise.
  427. STRING_A and STRING_B are interpreted as containing ASCII character
  428. codes.  If either value contains a character not in the ASCII character
  429. set, the result is processor dependent.
  430.  
  431.    If the STRING_A and STRING_B are not the same length, the shorter is
  432. compared as if spaces were appended to it to form a value that has the
  433. same length as the longer.
  434.  
  435.    The lexical comparison intrinsics `LGe', `LGt', `LLe', and `LLt'
  436. differ from the corresponding intrinsic operators `.GE.', `.GT.',
  437. `.LE.', `.LT.'.  Because the ASCII collating sequence is assumed, the
  438. following expressions always return `.TRUE.':
  439.  
  440.      LGE ('0', ' ')
  441.      LGE ('A', '0')
  442.      LGE ('a', 'A')
  443.  
  444.    The following related expressions do *not* always return `.TRUE.',
  445. as they are not necessarily evaluated assuming the arguments use ASCII
  446. encoding:
  447.  
  448.      '0' .GE. ' '
  449.      'A' .GE. '0'
  450.      'a' .GE. 'A'
  451.  
  452.    The same difference exists between `LGt' and `.GT.'; between `LLe'
  453. and `.LE.'; and between `LLt' and `.LT.'.
  454.  
  455. 
  456. File: g77.info,  Node: LGt Intrinsic,  Next: Link Intrinsic (subroutine),  Prev: LGe Intrinsic,  Up: Table of Intrinsic Functions
  457.  
  458. LGt Intrinsic
  459. .............
  460.  
  461.      LGt(STRING_A, STRING_B)
  462.  
  463. LGt: `LOGICAL(KIND=1)' function.
  464.  
  465. STRING_A: `CHARACTER'; scalar; INTENT(IN).
  466.  
  467. STRING_B: `CHARACTER'; scalar; INTENT(IN).
  468.  
  469. Intrinsic groups: (standard FORTRAN 77).
  470.  
  471. Description:
  472.  
  473.    Returns `.TRUE.' if `STRING_A.GT.STRING_B', `.FALSE.' otherwise.
  474. STRING_A and STRING_B are interpreted as containing ASCII character
  475. codes.  If either value contains a character not in the ASCII character
  476. set, the result is processor dependent.
  477.  
  478.    If the STRING_A and STRING_B are not the same length, the shorter is
  479. compared as if spaces were appended to it to form a value that has the
  480. same length as the longer.
  481.  
  482.    *Note LGe Intrinsic::, for information on the distinction between
  483. the `LGT' intrinsic and the `.GT.'  operator.
  484.  
  485. 
  486. File: g77.info,  Node: Link Intrinsic (subroutine),  Next: LLe Intrinsic,  Prev: LGt Intrinsic,  Up: Table of Intrinsic Functions
  487.  
  488. Link Intrinsic (subroutine)
  489. ...........................
  490.  
  491.      CALL Link(PATH1, PATH2, STATUS)
  492.  
  493. PATH1: `CHARACTER'; scalar; INTENT(IN).
  494.  
  495. PATH2: `CHARACTER'; scalar; INTENT(IN).
  496.  
  497. STATUS: `INTEGER(KIND=1)'; OPTIONAL; scalar; INTENT(OUT).
  498.  
  499. Intrinsic groups: `unix'.
  500.  
  501. Description:
  502.  
  503.    Makes a (hard) link from file PATH1 to PATH2.  A null character
  504. (`CHAR(0)') marks the end of the names in PATH1 and PATH2--otherwise,
  505. trailing blanks in PATH1 and PATH2 are ignored.  If the STATUS argument
  506. is supplied, it contains 0 on success or a non-zero error code upon
  507. return.  See `link(2)'.
  508.  
  509.    Some non-GNU implementations of Fortran provide this intrinsic as
  510. only a function, not as a subroutine, or do not support the (optional)
  511. STATUS argument.
  512.  
  513.    For information on other intrinsics with the same name: *Note Link
  514. Intrinsic (function)::.
  515.  
  516. 
  517. File: g77.info,  Node: LLe Intrinsic,  Next: LLt Intrinsic,  Prev: Link Intrinsic (subroutine),  Up: Table of Intrinsic Functions
  518.  
  519. LLe Intrinsic
  520. .............
  521.  
  522.      LLe(STRING_A, STRING_B)
  523.  
  524. LLe: `LOGICAL(KIND=1)' function.
  525.  
  526. STRING_A: `CHARACTER'; scalar; INTENT(IN).
  527.  
  528. STRING_B: `CHARACTER'; scalar; INTENT(IN).
  529.  
  530. Intrinsic groups: (standard FORTRAN 77).
  531.  
  532. Description:
  533.  
  534.    Returns `.TRUE.' if `STRING_A.LE.STRING_B', `.FALSE.' otherwise.
  535. STRING_A and STRING_B are interpreted as containing ASCII character
  536. codes.  If either value contains a character not in the ASCII character
  537. set, the result is processor dependent.
  538.  
  539.    If the STRING_A and STRING_B are not the same length, the shorter is
  540. compared as if spaces were appended to it to form a value that has the
  541. same length as the longer.
  542.  
  543.    *Note LGe Intrinsic::, for information on the distinction between
  544. the `LLE' intrinsic and the `.LE.'  operator.
  545.  
  546. 
  547. File: g77.info,  Node: LLt Intrinsic,  Next: LnBlnk Intrinsic,  Prev: LLe Intrinsic,  Up: Table of Intrinsic Functions
  548.  
  549. LLt Intrinsic
  550. .............
  551.  
  552.      LLt(STRING_A, STRING_B)
  553.  
  554. LLt: `LOGICAL(KIND=1)' function.
  555.  
  556. STRING_A: `CHARACTER'; scalar; INTENT(IN).
  557.  
  558. STRING_B: `CHARACTER'; scalar; INTENT(IN).
  559.  
  560. Intrinsic groups: (standard FORTRAN 77).
  561.  
  562. Description:
  563.  
  564.    Returns `.TRUE.' if `STRING_A.LT.STRING_B', `.FALSE.' otherwise.
  565. STRING_A and STRING_B are interpreted as containing ASCII character
  566. codes.  If either value contains a character not in the ASCII character
  567. set, the result is processor dependent.
  568.  
  569.    If the STRING_A and STRING_B are not the same length, the shorter is
  570. compared as if spaces were appended to it to form a value that has the
  571. same length as the longer.
  572.  
  573.    *Note LGe Intrinsic::, for information on the distinction between
  574. the `LLT' intrinsic and the `.LT.'  operator.
  575.  
  576. 
  577. File: g77.info,  Node: LnBlnk Intrinsic,  Next: Loc Intrinsic,  Prev: LLt Intrinsic,  Up: Table of Intrinsic Functions
  578.  
  579. LnBlnk Intrinsic
  580. ................
  581.  
  582.      LnBlnk(STRING)
  583.  
  584. LnBlnk: `INTEGER(KIND=1)' function.
  585.  
  586. STRING: `CHARACTER'; scalar; INTENT(IN).
  587.  
  588. Intrinsic groups: `unix'.
  589.  
  590. Description:
  591.  
  592.    Returns the index of the last non-blank character in STRING.
  593. `LNBLNK' and `LEN_TRIM' are equivalent.
  594.  
  595. 
  596. File: g77.info,  Node: Loc Intrinsic,  Next: Log Intrinsic,  Prev: LnBlnk Intrinsic,  Up: Table of Intrinsic Functions
  597.  
  598. Loc Intrinsic
  599. .............
  600.  
  601.      Loc(ENTITY)
  602.  
  603. Loc: `INTEGER(KIND=7)' function.
  604.  
  605. ENTITY: Any type; cannot be a constant or expression.
  606.  
  607. Intrinsic groups: `unix'.
  608.  
  609. Description:
  610.  
  611.    The `LOC()' intrinsic works the same way as the `%LOC()' construct.
  612. *Note The `%LOC()' Construct: %LOC(), for more information.
  613.  
  614. 
  615. File: g77.info,  Node: Log Intrinsic,  Next: Log10 Intrinsic,  Prev: Loc Intrinsic,  Up: Table of Intrinsic Functions
  616.  
  617. Log Intrinsic
  618. .............
  619.  
  620.      Log(X)
  621.  
  622. Log: `REAL' or `COMPLEX' function, the exact type being that of
  623. argument X.
  624.  
  625. X: `REAL' or `COMPLEX'; scalar; INTENT(IN).
  626.  
  627. Intrinsic groups: (standard FORTRAN 77).
  628.  
  629. Description:
  630.  
  631.    Returns the natural logarithm of X, which must be greater than zero
  632. or, if type `COMPLEX', must not be zero.
  633.  
  634.    *Note Exp Intrinsic::, for the inverse of this function.
  635.  
  636.    *Note Log10 Intrinsic::, for the `common' (base-10) logarithm
  637. function.
  638.  
  639. 
  640. File: g77.info,  Node: Log10 Intrinsic,  Next: Logical Intrinsic,  Prev: Log Intrinsic,  Up: Table of Intrinsic Functions
  641.  
  642. Log10 Intrinsic
  643. ...............
  644.  
  645.      Log10(X)
  646.  
  647. Log10: `REAL' function, the `KIND=' value of the type being that of
  648. argument X.
  649.  
  650. X: `REAL'; scalar; INTENT(IN).
  651.  
  652. Intrinsic groups: (standard FORTRAN 77).
  653.  
  654. Description:
  655.  
  656.    Returns the common logarithm (base 10) of X, which must be greater
  657. than zero.
  658.  
  659.    The inverse of this function is `10. ** LOG10(X)'.
  660.  
  661.    *Note Log Intrinsic::, for the natural logarithm function.
  662.  
  663. 
  664. File: g77.info,  Node: Logical Intrinsic,  Next: Long Intrinsic,  Prev: Log10 Intrinsic,  Up: Table of Intrinsic Functions
  665.  
  666. Logical Intrinsic
  667. .................
  668.  
  669.    This intrinsic is not yet implemented.  The name is, however,
  670. reserved as an intrinsic.  Use `EXTERNAL Logical' to use this name for
  671. an external procedure.
  672.  
  673. 
  674. File: g77.info,  Node: Long Intrinsic,  Next: LShift Intrinsic,  Prev: Logical Intrinsic,  Up: Table of Intrinsic Functions
  675.  
  676. Long Intrinsic
  677. ..............
  678.  
  679.      Long(A)
  680.  
  681. Long: `INTEGER(KIND=1)' function.
  682.  
  683. A: `INTEGER(KIND=6)'; scalar; INTENT(IN).
  684.  
  685. Intrinsic groups: `unix'.
  686.  
  687. Description:
  688.  
  689.    Archaic form of `INT()' that is specific to one type for A.  *Note
  690. Int Intrinsic::.
  691.  
  692.    The precise meaning of this intrinsic might change in a future
  693. version of the GNU Fortran language, as more is learned about how it is
  694. used.
  695.  
  696. 
  697. File: g77.info,  Node: LShift Intrinsic,  Next: LStat Intrinsic (subroutine),  Prev: Long Intrinsic,  Up: Table of Intrinsic Functions
  698.  
  699. LShift Intrinsic
  700. ................
  701.  
  702.      LShift(I, SHIFT)
  703.  
  704. LShift: `INTEGER' function, the `KIND=' value of the type being that of
  705. argument I.
  706.  
  707. I: `INTEGER'; scalar; INTENT(IN).
  708.  
  709. SHIFT: `INTEGER'; scalar; INTENT(IN).
  710.  
  711. Intrinsic groups: `f2c'.
  712.  
  713. Description:
  714.  
  715.    Returns I shifted to the left SHIFT bits.
  716.  
  717.    Although similar to the expression `I*(2**SHIFT)', there are
  718. important differences.  For example, the sign of the result is not
  719. necessarily the same as the sign of I.
  720.  
  721.    Currently this intrinsic is defined assuming the underlying
  722. representation of I is as a two's-complement integer.  It is unclear at
  723. this point whether that definition will apply when a different
  724. representation is involved.
  725.  
  726.    *Note LShift Intrinsic::, for the inverse of this function.
  727.  
  728.    *Note IShft Intrinsic::, for information on a more widely available
  729. left-shifting intrinsic that is also more precisely defined.
  730.  
  731. 
  732. File: g77.info,  Node: LStat Intrinsic (subroutine),  Next: LStat Intrinsic (function),  Prev: LShift Intrinsic,  Up: Table of Intrinsic Functions
  733.  
  734. LStat Intrinsic (subroutine)
  735. ............................
  736.  
  737.      CALL LStat(FILE, SARRAY, STATUS)
  738.  
  739. FILE: `CHARACTER'; scalar; INTENT(IN).
  740.  
  741. SARRAY: `INTEGER(KIND=1)'; DIMENSION(13); INTENT(OUT).
  742.  
  743. STATUS: `INTEGER(KIND=1)'; OPTIONAL; scalar; INTENT(OUT).
  744.  
  745. Intrinsic groups: `unix'.
  746.  
  747. Description:
  748.  
  749.    Obtains data about the given file FILE and places them in the array
  750. SARRAY.  A null character (`CHAR(0)') marks the end of the name in
  751. FILE--otherwise, trailing blanks in FILE are ignored.  If FILE is a
  752. symbolic link it returns data on the link itself, so the routine is
  753. available only on systems that support symbolic links.  The values in
  754. this array are extracted from the `stat' structure as returned by
  755. `fstat(2)' q.v., as follows:
  756.  
  757.   1. Device ID
  758.  
  759.   2. Inode number
  760.  
  761.   3. File mode
  762.  
  763.   4. Number of links
  764.  
  765.   5. Owner's uid
  766.  
  767.   6. Owner's gid
  768.  
  769.   7. ID of device containing directory entry for file (0 if not
  770.      available)
  771.  
  772.   8. File size (bytes)
  773.  
  774.   9. Last access time
  775.  
  776.  10. Last modification time
  777.  
  778.  11. Last file status change time
  779.  
  780.  12. Preferred I/O block size (-1 if not available)
  781.  
  782.  13. Number of blocks allocated (-1 if not available)
  783.  
  784.    Not all these elements are relevant on all systems.  If an element
  785. is not relevant, it is returned as 0.
  786.  
  787.    If the STATUS argument is supplied, it contains 0 on success or a
  788. non-zero error code upon return (`ENOSYS' if the system does not
  789. provide `lstat(2)').
  790.  
  791.    Some non-GNU implementations of Fortran provide this intrinsic as
  792. only a function, not as a subroutine, or do not support the (optional)
  793. STATUS argument.
  794.  
  795.    For information on other intrinsics with the same name: *Note LStat
  796. Intrinsic (function)::.
  797.  
  798. 
  799. File: g77.info,  Node: LStat Intrinsic (function),  Next: LTime Intrinsic,  Prev: LStat Intrinsic (subroutine),  Up: Table of Intrinsic Functions
  800.  
  801. LStat Intrinsic (function)
  802. ..........................
  803.  
  804.      LStat(FILE, SARRAY)
  805.  
  806. LStat: `INTEGER(KIND=1)' function.
  807.  
  808. FILE: `CHARACTER'; scalar; INTENT(IN).
  809.  
  810. SARRAY: `INTEGER(KIND=1)'; DIMENSION(13); INTENT(OUT).
  811.  
  812. Intrinsic groups: `unix'.
  813.  
  814. Description:
  815.  
  816.    Obtains data about the given file FILE and places them in the array
  817. SARRAY.  A null character (`CHAR(0)') marks the end of the name in
  818. FILE--otherwise, trailing blanks in FILE are ignored.  If FILE is a
  819. symbolic link it returns data on the link itself, so the routine is
  820. available only on systems that support symbolic links.  The values in
  821. this array are extracted from the `stat' structure as returned by
  822. `fstat(2)' q.v., as follows:
  823.  
  824.   1. Device ID
  825.  
  826.   2. Inode number
  827.  
  828.   3. File mode
  829.  
  830.   4. Number of links
  831.  
  832.   5. Owner's uid
  833.  
  834.   6. Owner's gid
  835.  
  836.   7. ID of device containing directory entry for file (0 if not
  837.      available)
  838.  
  839.   8. File size (bytes)
  840.  
  841.   9. Last access time
  842.  
  843.  10. Last modification time
  844.  
  845.  11. Last file status change time
  846.  
  847.  12. Preferred I/O block size (-1 if not available)
  848.  
  849.  13. Number of blocks allocated (-1 if not available)
  850.  
  851.    Not all these elements are relevant on all systems.  If an element
  852. is not relevant, it is returned as 0.
  853.  
  854.    Returns 0 on success or a non-zero error code (`ENOSYS' if the
  855. system does not provide `lstat(2)').
  856.  
  857.    For information on other intrinsics with the same name: *Note LStat
  858. Intrinsic (subroutine)::.
  859.  
  860. 
  861. File: g77.info,  Node: LTime Intrinsic,  Next: MatMul Intrinsic,  Prev: LStat Intrinsic (function),  Up: Table of Intrinsic Functions
  862.  
  863. LTime Intrinsic
  864. ...............
  865.  
  866.      CALL LTime(STIME, TARRAY)
  867.  
  868. STIME: `INTEGER(KIND=1)'; scalar; INTENT(IN).
  869.  
  870. TARRAY: `INTEGER(KIND=1)'; DIMENSION(9); INTENT(OUT).
  871.  
  872. Intrinsic groups: `unix'.
  873.  
  874. Description:
  875.  
  876.    Given a system time value STIME, fills TARRAY with values extracted
  877. from it appropriate to the GMT time zone using `localtime(3)'.
  878.  
  879.    The array elements are as follows:
  880.  
  881.   1. Seconds after the minute, range 0-59 or 0-61 to allow for leap
  882.      seconds
  883.  
  884.   2. Minutes after the hour, range 0-59
  885.  
  886.   3. Hours past midnight, range 0-23
  887.  
  888.   4. Day of month, range 0-31
  889.  
  890.   5. Number of months since January, range 0-12
  891.  
  892.   6. Years since 1900
  893.  
  894.   7. Number of days since Sunday, range 0-6
  895.  
  896.   8. Days since January 1
  897.  
  898.   9. Daylight savings indicator: positive if daylight savings is in
  899.      effect, zero if not, and negative if the information isn't
  900.      available.
  901.  
  902. 
  903. File: g77.info,  Node: MatMul Intrinsic,  Next: Max Intrinsic,  Prev: LTime Intrinsic,  Up: Table of Intrinsic Functions
  904.  
  905. MatMul Intrinsic
  906. ................
  907.  
  908.    This intrinsic is not yet implemented.  The name is, however,
  909. reserved as an intrinsic.  Use `EXTERNAL MatMul' to use this name for an
  910. external procedure.
  911.  
  912. 
  913. File: g77.info,  Node: Max Intrinsic,  Next: Max0 Intrinsic,  Prev: MatMul Intrinsic,  Up: Table of Intrinsic Functions
  914.  
  915. Max Intrinsic
  916. .............
  917.  
  918.      Max(A-1, A-2, ..., A-n)
  919.  
  920. Max: `INTEGER' or `REAL' function, the exact type being the result of
  921. cross-promoting the types of all the arguments.
  922.  
  923. A: `INTEGER' or `REAL'; at least two such arguments must be provided;
  924. scalar; INTENT(IN).
  925.  
  926. Intrinsic groups: (standard FORTRAN 77).
  927.  
  928. Description:
  929.  
  930.    Returns the argument with the largest value.
  931.  
  932.    *Note Min Intrinsic::, for the opposite function.
  933.  
  934. 
  935. File: g77.info,  Node: Max0 Intrinsic,  Next: Max1 Intrinsic,  Prev: Max Intrinsic,  Up: Table of Intrinsic Functions
  936.  
  937. Max0 Intrinsic
  938. ..............
  939.  
  940.      Max0(A-1, A-2, ..., A-n)
  941.  
  942. Max0: `INTEGER(KIND=1)' function.
  943.  
  944. A: `INTEGER(KIND=1)'; at least two such arguments must be provided;
  945. scalar; INTENT(IN).
  946.  
  947. Intrinsic groups: (standard FORTRAN 77).
  948.  
  949. Description:
  950.  
  951.    Archaic form of `MAX()' that is specific to one type for A.  *Note
  952. Max Intrinsic::.
  953.  
  954. 
  955. File: g77.info,  Node: Max1 Intrinsic,  Next: MaxExponent Intrinsic,  Prev: Max0 Intrinsic,  Up: Table of Intrinsic Functions
  956.  
  957. Max1 Intrinsic
  958. ..............
  959.  
  960.      Max1(A-1, A-2, ..., A-n)
  961.  
  962. Max1: `INTEGER(KIND=1)' function.
  963.  
  964. A: `REAL(KIND=1)'; at least two such arguments must be provided;
  965. scalar; INTENT(IN).
  966.  
  967. Intrinsic groups: (standard FORTRAN 77).
  968.  
  969. Description:
  970.  
  971.    Archaic form of `MAX()' that is specific to one type for A and a
  972. different return type.  *Note Max Intrinsic::.
  973.  
  974. 
  975. File: g77.info,  Node: MaxExponent Intrinsic,  Next: MaxLoc Intrinsic,  Prev: Max1 Intrinsic,  Up: Table of Intrinsic Functions
  976.  
  977. MaxExponent Intrinsic
  978. .....................
  979.  
  980.    This intrinsic is not yet implemented.  The name is, however,
  981. reserved as an intrinsic.  Use `EXTERNAL MaxExponent' to use this name
  982. for an external procedure.
  983.  
  984. 
  985. File: g77.info,  Node: MaxLoc Intrinsic,  Next: MaxVal Intrinsic,  Prev: MaxExponent Intrinsic,  Up: Table of Intrinsic Functions
  986.  
  987. MaxLoc Intrinsic
  988. ................
  989.  
  990.    This intrinsic is not yet implemented.  The name is, however,
  991. reserved as an intrinsic.  Use `EXTERNAL MaxLoc' to use this name for an
  992. external procedure.
  993.  
  994. 
  995. File: g77.info,  Node: MaxVal Intrinsic,  Next: MClock Intrinsic,  Prev: MaxLoc Intrinsic,  Up: Table of Intrinsic Functions
  996.  
  997. MaxVal Intrinsic
  998. ................
  999.  
  1000.    This intrinsic is not yet implemented.  The name is, however,
  1001. reserved as an intrinsic.  Use `EXTERNAL MaxVal' to use this name for an
  1002. external procedure.
  1003.  
  1004. 
  1005. File: g77.info,  Node: MClock Intrinsic,  Next: MClock8 Intrinsic,  Prev: MaxVal Intrinsic,  Up: Table of Intrinsic Functions
  1006.  
  1007. MClock Intrinsic
  1008. ................
  1009.  
  1010.      MClock()
  1011.  
  1012. MClock: `INTEGER(KIND=1)' function.
  1013.  
  1014. Intrinsic groups: `unix'.
  1015.  
  1016. Description:
  1017.  
  1018.    Returns the number of clock ticks since the start of the process.
  1019. Supported on systems with `clock(3)' (q.v.).
  1020.  
  1021.    This intrinsic is not fully portable, such as to systems with 32-bit
  1022. `INTEGER' types but supporting times wider than 32 bits.  Therefore,
  1023. the values returned by this intrinsic might be, or become, negative, or
  1024. numerically less than previous values, during a single run of the
  1025. compiled program.
  1026.  
  1027.    *Note MClock8 Intrinsic::, for information on a similar intrinsic
  1028. that might be portable to more GNU Fortran implementations, though to
  1029. fewer Fortran compilers.
  1030.  
  1031.    If the system does not support `clock(3)', -1 is returned.
  1032.  
  1033. 
  1034. File: g77.info,  Node: MClock8 Intrinsic,  Next: Merge Intrinsic,  Prev: MClock Intrinsic,  Up: Table of Intrinsic Functions
  1035.  
  1036. MClock8 Intrinsic
  1037. .................
  1038.  
  1039.      MClock8()
  1040.  
  1041. MClock8: `INTEGER(KIND=2)' function.
  1042.  
  1043. Intrinsic groups: `unix'.
  1044.  
  1045. Description:
  1046.  
  1047.    Returns the number of clock ticks since the start of the process.
  1048. Supported on systems with `clock(3)' (q.v.).
  1049.  
  1050.    *Warning:* this intrinsic does not increase the range of the timing
  1051. values over that returned by `clock(3)'.  On a system with a 32-bit
  1052. `clock(3)', `MCLOCK8' will return a 32-bit value, even though converted
  1053. to an `INTEGER(KIND=2)' value.  That means overflows of the 32-bit
  1054. value can still occur.  Therefore, the values returned by this intrinsic
  1055. might be, or become, negative, or numerically less than previous values,
  1056. during a single run of the compiled program.
  1057.  
  1058.    No Fortran implementations other than GNU Fortran are known to
  1059. support this intrinsic at the time of this writing.  *Note MClock
  1060. Intrinsic::, for information on a similar intrinsic that might be
  1061. portable to more Fortran compilers, though to fewer GNU Fortran
  1062. implementations.
  1063.  
  1064.    If the system does not support `clock(3)', -1 is returned.
  1065.  
  1066. 
  1067. File: g77.info,  Node: Merge Intrinsic,  Next: Min Intrinsic,  Prev: MClock8 Intrinsic,  Up: Table of Intrinsic Functions
  1068.  
  1069. Merge Intrinsic
  1070. ...............
  1071.  
  1072.    This intrinsic is not yet implemented.  The name is, however,
  1073. reserved as an intrinsic.  Use `EXTERNAL Merge' to use this name for an
  1074. external procedure.
  1075.  
  1076. 
  1077. File: g77.info,  Node: Min Intrinsic,  Next: Min0 Intrinsic,  Prev: Merge Intrinsic,  Up: Table of Intrinsic Functions
  1078.  
  1079. Min Intrinsic
  1080. .............
  1081.  
  1082.      Min(A-1, A-2, ..., A-n)
  1083.  
  1084. Min: `INTEGER' or `REAL' function, the exact type being the result of
  1085. cross-promoting the types of all the arguments.
  1086.  
  1087. A: `INTEGER' or `REAL'; at least two such arguments must be provided;
  1088. scalar; INTENT(IN).
  1089.  
  1090. Intrinsic groups: (standard FORTRAN 77).
  1091.  
  1092. Description:
  1093.  
  1094.    Returns the argument with the smallest value.
  1095.  
  1096.    *Note Max Intrinsic::, for the opposite function.
  1097.  
  1098. 
  1099. File: g77.info,  Node: Min0 Intrinsic,  Next: Min1 Intrinsic,  Prev: Min Intrinsic,  Up: Table of Intrinsic Functions
  1100.  
  1101. Min0 Intrinsic
  1102. ..............
  1103.  
  1104.      Min0(A-1, A-2, ..., A-n)
  1105.  
  1106. Min0: `INTEGER(KIND=1)' function.
  1107.  
  1108. A: `INTEGER(KIND=1)'; at least two such arguments must be provided;
  1109. scalar; INTENT(IN).
  1110.  
  1111. Intrinsic groups: (standard FORTRAN 77).
  1112.  
  1113. Description:
  1114.  
  1115.    Archaic form of `MIN()' that is specific to one type for A.  *Note
  1116. Min Intrinsic::.
  1117.  
  1118. 
  1119. File: g77.info,  Node: Min1 Intrinsic,  Next: MinExponent Intrinsic,  Prev: Min0 Intrinsic,  Up: Table of Intrinsic Functions
  1120.  
  1121. Min1 Intrinsic
  1122. ..............
  1123.  
  1124.      Min1(A-1, A-2, ..., A-n)
  1125.  
  1126. Min1: `INTEGER(KIND=1)' function.
  1127.  
  1128. A: `REAL(KIND=1)'; at least two such arguments must be provided;
  1129. scalar; INTENT(IN).
  1130.  
  1131. Intrinsic groups: (standard FORTRAN 77).
  1132.  
  1133. Description:
  1134.  
  1135.    Archaic form of `MIN()' that is specific to one type for A and a
  1136. different return type.  *Note Min Intrinsic::.
  1137.  
  1138. 
  1139. File: g77.info,  Node: MinExponent Intrinsic,  Next: MinLoc Intrinsic,  Prev: Min1 Intrinsic,  Up: Table of Intrinsic Functions
  1140.  
  1141. MinExponent Intrinsic
  1142. .....................
  1143.  
  1144.    This intrinsic is not yet implemented.  The name is, however,
  1145. reserved as an intrinsic.  Use `EXTERNAL MinExponent' to use this name
  1146. for an external procedure.
  1147.  
  1148. 
  1149. File: g77.info,  Node: MinLoc Intrinsic,  Next: MinVal Intrinsic,  Prev: MinExponent Intrinsic,  Up: Table of Intrinsic Functions
  1150.  
  1151. MinLoc Intrinsic
  1152. ................
  1153.  
  1154.    This intrinsic is not yet implemented.  The name is, however,
  1155. reserved as an intrinsic.  Use `EXTERNAL MinLoc' to use this name for an
  1156. external procedure.
  1157.  
  1158. 
  1159. File: g77.info,  Node: MinVal Intrinsic,  Next: Mod Intrinsic,  Prev: MinLoc Intrinsic,  Up: Table of Intrinsic Functions
  1160.  
  1161. MinVal Intrinsic
  1162. ................
  1163.  
  1164.    This intrinsic is not yet implemented.  The name is, however,
  1165. reserved as an intrinsic.  Use `EXTERNAL MinVal' to use this name for an
  1166. external procedure.
  1167.  
  1168. 
  1169. File: g77.info,  Node: Mod Intrinsic,  Next: Modulo Intrinsic,  Prev: MinVal Intrinsic,  Up: Table of Intrinsic Functions
  1170.  
  1171. Mod Intrinsic
  1172. .............
  1173.  
  1174.      Mod(A, P)
  1175.  
  1176. Mod: `INTEGER' or `REAL' function, the exact type being the result of
  1177. cross-promoting the types of all the arguments.
  1178.  
  1179. A: `INTEGER' or `REAL'; scalar; INTENT(IN).
  1180.  
  1181. P: `INTEGER' or `REAL'; scalar; INTENT(IN).
  1182.  
  1183. Intrinsic groups: (standard FORTRAN 77).
  1184.  
  1185. Description:
  1186.  
  1187.    Returns remainder calculated as:
  1188.  
  1189.      A - (INT(A / P) * P)
  1190.  
  1191.    P must not be zero.
  1192.  
  1193. 
  1194. File: g77.info,  Node: Modulo Intrinsic,  Next: MvBits Intrinsic,  Prev: Mod Intrinsic,  Up: Table of Intrinsic Functions
  1195.  
  1196. Modulo Intrinsic
  1197. ................
  1198.  
  1199.    This intrinsic is not yet implemented.  The name is, however,
  1200. reserved as an intrinsic.  Use `EXTERNAL Modulo' to use this name for an
  1201. external procedure.
  1202.  
  1203. 
  1204. File: g77.info,  Node: MvBits Intrinsic,  Next: Nearest Intrinsic,  Prev: Modulo Intrinsic,  Up: Table of Intrinsic Functions
  1205.  
  1206. MvBits Intrinsic
  1207. ................
  1208.  
  1209.      CALL MvBits(FROM, FROMPOS, LEN, TO, TOPOS)
  1210.  
  1211. FROM: `INTEGER'; scalar; INTENT(IN).
  1212.  
  1213. FROMPOS: `INTEGER'; scalar; INTENT(IN).
  1214.  
  1215. LEN: `INTEGER'; scalar; INTENT(IN).
  1216.  
  1217. TO: `INTEGER' with same `KIND=' value as for FROM; scalar;
  1218. INTENT(INOUT).
  1219.  
  1220. TOPOS: `INTEGER'; scalar; INTENT(IN).
  1221.  
  1222. Intrinsic groups: `mil', `f90', `vxt'.
  1223.  
  1224. Description:
  1225.  
  1226.    Moves LEN bits from positions FROMPOS through `FROMPOS+LEN-1' of
  1227. FROM to positions TOPOS through `FROMPOS+LEN-1' of TO.  The portion of
  1228. argument TO not affected by the movement of bits is unchanged.
  1229. Arguments FROM and TO are permitted to be the same numeric storage
  1230. unit.  The values of `FROMPOS+LEN' and `TOPOS+LEN' must be less than or
  1231. equal to `BIT_SIZE(FROM)'.
  1232.  
  1233. 
  1234. File: g77.info,  Node: Nearest Intrinsic,  Next: NInt Intrinsic,  Prev: MvBits Intrinsic,  Up: Table of Intrinsic Functions
  1235.  
  1236. Nearest Intrinsic
  1237. .................
  1238.  
  1239.    This intrinsic is not yet implemented.  The name is, however,
  1240. reserved as an intrinsic.  Use `EXTERNAL Nearest' to use this name for
  1241. an external procedure.
  1242.  
  1243. 
  1244. File: g77.info,  Node: NInt Intrinsic,  Next: Not Intrinsic,  Prev: Nearest Intrinsic,  Up: Table of Intrinsic Functions
  1245.  
  1246. NInt Intrinsic
  1247. ..............
  1248.  
  1249.      NInt(A)
  1250.  
  1251. NInt: `INTEGER(KIND=1)' function.
  1252.  
  1253. A: `REAL'; scalar; INTENT(IN).
  1254.  
  1255. Intrinsic groups: (standard FORTRAN 77).
  1256.  
  1257. Description:
  1258.  
  1259.    Returns A with the fractional portion of its magnitude eliminated by
  1260. rounding to the nearest whole number and with its sign preserved,
  1261. converted to type `INTEGER(KIND=1)'.
  1262.  
  1263.    If A is type `COMPLEX', its real part is rounded and converted.
  1264.  
  1265.    A fractional portion exactly equal to `.5' is rounded to the whole
  1266. number that is larger in magnitude.  (Also called "Fortran round".)
  1267.  
  1268.    *Note Int Intrinsic::, for how to convert, truncate to whole number.
  1269.  
  1270.    *Note ANInt Intrinsic::, for how to round to nearest whole number
  1271. without converting.
  1272.  
  1273. 
  1274. File: g77.info,  Node: Not Intrinsic,  Next: Or Intrinsic,  Prev: NInt Intrinsic,  Up: Table of Intrinsic Functions
  1275.  
  1276. Not Intrinsic
  1277. .............
  1278.  
  1279.      Not(I)
  1280.  
  1281. Not: `INTEGER' function, the `KIND=' value of the type being that of
  1282. argument I.
  1283.  
  1284. I: `INTEGER'; scalar; INTENT(IN).
  1285.  
  1286. Intrinsic groups: `mil', `f90', `vxt'.
  1287.  
  1288. Description:
  1289.  
  1290.    Returns value resulting from boolean NOT of each bit in I.
  1291.  
  1292. 
  1293. File: g77.info,  Node: Or Intrinsic,  Next: Pack Intrinsic,  Prev: Not Intrinsic,  Up: Table of Intrinsic Functions
  1294.  
  1295. Or Intrinsic
  1296. ............
  1297.  
  1298.      Or(I, J)
  1299.  
  1300. Or: `INTEGER' or `LOGICAL' function, the exact type being the result of
  1301. cross-promoting the types of all the arguments.
  1302.  
  1303. I: `INTEGER' or `LOGICAL'; scalar; INTENT(IN).
  1304.  
  1305. J: `INTEGER' or `LOGICAL'; scalar; INTENT(IN).
  1306.  
  1307. Intrinsic groups: `f2c'.
  1308.  
  1309. Description:
  1310.  
  1311.    Returns value resulting from boolean OR of pair of bits in each of I
  1312. and J.
  1313.  
  1314. 
  1315. File: g77.info,  Node: Pack Intrinsic,  Next: PError Intrinsic,  Prev: Or Intrinsic,  Up: Table of Intrinsic Functions
  1316.  
  1317. Pack Intrinsic
  1318. ..............
  1319.  
  1320.    This intrinsic is not yet implemented.  The name is, however,
  1321. reserved as an intrinsic.  Use `EXTERNAL Pack' to use this name for an
  1322. external procedure.
  1323.  
  1324. 
  1325. File: g77.info,  Node: PError Intrinsic,  Next: Precision Intrinsic,  Prev: Pack Intrinsic,  Up: Table of Intrinsic Functions
  1326.  
  1327. PError Intrinsic
  1328. ................
  1329.  
  1330.      CALL PError(STRING)
  1331.  
  1332. STRING: `CHARACTER'; scalar; INTENT(IN).
  1333.  
  1334. Intrinsic groups: `unix'.
  1335.  
  1336. Description:
  1337.  
  1338.    Prints (on the C `stderr' stream) a newline-terminated error message
  1339. corresponding to the last system error.  This is prefixed by STRING, a
  1340. colon and a space.  See `perror(3)'.
  1341.  
  1342. 
  1343. File: g77.info,  Node: Precision Intrinsic,  Next: Present Intrinsic,  Prev: PError Intrinsic,  Up: Table of Intrinsic Functions
  1344.  
  1345. Precision Intrinsic
  1346. ...................
  1347.  
  1348.    This intrinsic is not yet implemented.  The name is, however,
  1349. reserved as an intrinsic.  Use `EXTERNAL Precision' to use this name
  1350. for an external procedure.
  1351.  
  1352. 
  1353. File: g77.info,  Node: Present Intrinsic,  Next: Product Intrinsic,  Prev: Precision Intrinsic,  Up: Table of Intrinsic Functions
  1354.  
  1355. Present Intrinsic
  1356. .................
  1357.  
  1358.    This intrinsic is not yet implemented.  The name is, however,
  1359. reserved as an intrinsic.  Use `EXTERNAL Present' to use this name for
  1360. an external procedure.
  1361.  
  1362. 
  1363. File: g77.info,  Node: Product Intrinsic,  Next: Radix Intrinsic,  Prev: Present Intrinsic,  Up: Table of Intrinsic Functions
  1364.  
  1365. Product Intrinsic
  1366. .................
  1367.  
  1368.    This intrinsic is not yet implemented.  The name is, however,
  1369. reserved as an intrinsic.  Use `EXTERNAL Product' to use this name for
  1370. an external procedure.
  1371.  
  1372. 
  1373. File: g77.info,  Node: Radix Intrinsic,  Next: Rand Intrinsic,  Prev: Product Intrinsic,  Up: Table of Intrinsic Functions
  1374.  
  1375. Radix Intrinsic
  1376. ...............
  1377.  
  1378.    This intrinsic is not yet implemented.  The name is, however,
  1379. reserved as an intrinsic.  Use `EXTERNAL Radix' to use this name for an
  1380. external procedure.
  1381.  
  1382. 
  1383. File: g77.info,  Node: Rand Intrinsic,  Next: Random_Number Intrinsic,  Prev: Radix Intrinsic,  Up: Table of Intrinsic Functions
  1384.  
  1385. Rand Intrinsic
  1386. ..............
  1387.  
  1388.      Rand(FLAG)
  1389.  
  1390. Rand: `REAL(KIND=1)' function.
  1391.  
  1392. FLAG: `INTEGER'; OPTIONAL; scalar; INTENT(IN).
  1393.  
  1394. Intrinsic groups: `unix'.
  1395.  
  1396. Description:
  1397.  
  1398.    Returns a uniform quasi-random number between 0 and 1.  If FLAG is
  1399. 0, the next number in sequence is returned; if FLAG is 1, the generator
  1400. is restarted by calling `srand(0)'; if FLAG has any other value, it is
  1401. used as a new seed with `srand'.
  1402.  
  1403.    *Note SRand Intrinsic::.
  1404.  
  1405.    *Note:* As typically implemented (by the routine of the same name in
  1406. the C library), this random number generator is a very poor one, though
  1407. the BSD and GNU libraries provide a much better implementation than the
  1408. `traditional' one.  On a different system you almost certainly want to
  1409. use something better.
  1410.  
  1411. 
  1412. File: g77.info,  Node: Random_Number Intrinsic,  Next: Random_Seed Intrinsic,  Prev: Rand Intrinsic,  Up: Table of Intrinsic Functions
  1413.  
  1414. Random_Number Intrinsic
  1415. .......................
  1416.  
  1417.    This intrinsic is not yet implemented.  The name is, however,
  1418. reserved as an intrinsic.  Use `EXTERNAL Random_Number' to use this
  1419. name for an external procedure.
  1420.  
  1421. 
  1422. File: g77.info,  Node: Random_Seed Intrinsic,  Next: Range Intrinsic,  Prev: Random_Number Intrinsic,  Up: Table of Intrinsic Functions
  1423.  
  1424. Random_Seed Intrinsic
  1425. .....................
  1426.  
  1427.    This intrinsic is not yet implemented.  The name is, however,
  1428. reserved as an intrinsic.  Use `EXTERNAL Random_Seed' to use this name
  1429. for an external procedure.
  1430.  
  1431. 
  1432. File: g77.info,  Node: Range Intrinsic,  Next: Real Intrinsic,  Prev: Random_Seed Intrinsic,  Up: Table of Intrinsic Functions
  1433.  
  1434. Range Intrinsic
  1435. ...............
  1436.  
  1437.    This intrinsic is not yet implemented.  The name is, however,
  1438. reserved as an intrinsic.  Use `EXTERNAL Range' to use this name for an
  1439. external procedure.
  1440.  
  1441. 
  1442. File: g77.info,  Node: Real Intrinsic,  Next: RealPart Intrinsic,  Prev: Range Intrinsic,  Up: Table of Intrinsic Functions
  1443.  
  1444. Real Intrinsic
  1445. ..............
  1446.  
  1447.      Real(A)
  1448.  
  1449. Real: `REAL' function.  The exact type is `REAL(KIND=1)' when argument
  1450. A is any type other than `COMPLEX', or when it is `COMPLEX(KIND=1)'.
  1451. When A is any `COMPLEX' type other than `COMPLEX(KIND=1)', this
  1452. intrinsic is valid only when used as the argument to `REAL()', as
  1453. explained below.
  1454.  
  1455. A: `INTEGER', `REAL', or `COMPLEX'; scalar; INTENT(IN).
  1456.  
  1457. Intrinsic groups: (standard FORTRAN 77).
  1458.  
  1459. Description:
  1460.  
  1461.    Converts A to `REAL(KIND=1)'.
  1462.  
  1463.    Use of `REAL()' with a `COMPLEX' argument (other than
  1464. `COMPLEX(KIND=1)') is restricted to the following case:
  1465.  
  1466.      REAL(REAL(A))
  1467.  
  1468. This expression converts the real part of A to `REAL(KIND=1)'.
  1469.  
  1470.    *Note RealPart Intrinsic::, for information on a GNU Fortran
  1471. intrinsic that extracts the real part of an arbitrary `COMPLEX' value.
  1472.  
  1473.    *Note REAL() and AIMAG() of Complex::, for more information.
  1474.  
  1475. 
  1476. File: g77.info,  Node: RealPart Intrinsic,  Next: Rename Intrinsic (subroutine),  Prev: Real Intrinsic,  Up: Table of Intrinsic Functions
  1477.  
  1478. RealPart Intrinsic
  1479. ..................
  1480.  
  1481.      RealPart(Z)
  1482.  
  1483. RealPart: `REAL' function, the `KIND=' value of the type being that of
  1484. argument Z.
  1485.  
  1486. Z: `COMPLEX'; scalar; INTENT(IN).
  1487.  
  1488. Intrinsic groups: `gnu'.
  1489.  
  1490. Description:
  1491.  
  1492.    The real part of Z is returned, without conversion.
  1493.  
  1494.    *Note:* The way to do this in standard Fortran 90 is `REAL(Z)'.
  1495. However, when, for example, Z is `COMPLEX(KIND=2)', `REAL(Z)' means
  1496. something different for some compilers that are not true Fortran 90
  1497. compilers but offer some extensions standardized by Fortran 90 (such as
  1498. the `DOUBLE COMPLEX' type, also known as `COMPLEX(KIND=2)').
  1499.  
  1500.    The advantage of `REALPART()' is that, while not necessarily more or
  1501. less portable than `REAL()', it is more likely to cause a compiler that
  1502. doesn't support it to produce a diagnostic than generate incorrect code.
  1503.  
  1504.    *Note REAL() and AIMAG() of Complex::, for more information.
  1505.  
  1506. 
  1507. File: g77.info,  Node: Rename Intrinsic (subroutine),  Next: Repeat Intrinsic,  Prev: RealPart Intrinsic,  Up: Table of Intrinsic Functions
  1508.  
  1509. Rename Intrinsic (subroutine)
  1510. .............................
  1511.  
  1512.      CALL Rename(PATH1, PATH2, STATUS)
  1513.  
  1514. PATH1: `CHARACTER'; scalar; INTENT(IN).
  1515.  
  1516. PATH2: `CHARACTER'; scalar; INTENT(IN).
  1517.  
  1518. STATUS: `INTEGER(KIND=1)'; OPTIONAL; scalar; INTENT(OUT).
  1519.  
  1520. Intrinsic groups: `unix'.
  1521.  
  1522. Description:
  1523.  
  1524.    Renames the file PATH1 to PATH2.  A null character (`CHAR(0)') marks
  1525. the end of the names in PATH1 and PATH2--otherwise, trailing blanks in
  1526. PATH1 and PATH2 are ignored.  See `rename(2)'.  If the STATUS argument
  1527. is supplied, it contains 0 on success or a non-zero error code upon
  1528. return.
  1529.  
  1530.    Some non-GNU implementations of Fortran provide this intrinsic as
  1531. only a function, not as a subroutine, or do not support the (optional)
  1532. STATUS argument.
  1533.  
  1534.    For information on other intrinsics with the same name: *Note Rename
  1535. Intrinsic (function)::.
  1536.  
  1537. 
  1538. File: g77.info,  Node: Repeat Intrinsic,  Next: Reshape Intrinsic,  Prev: Rename Intrinsic (subroutine),  Up: Table of Intrinsic Functions
  1539.  
  1540. Repeat Intrinsic
  1541. ................
  1542.  
  1543.    This intrinsic is not yet implemented.  The name is, however,
  1544. reserved as an intrinsic.  Use `EXTERNAL Repeat' to use this name for an
  1545. external procedure.
  1546.  
  1547. 
  1548. File: g77.info,  Node: Reshape Intrinsic,  Next: RRSpacing Intrinsic,  Prev: Repeat Intrinsic,  Up: Table of Intrinsic Functions
  1549.  
  1550. Reshape Intrinsic
  1551. .................
  1552.  
  1553.    This intrinsic is not yet implemented.  The name is, however,
  1554. reserved as an intrinsic.  Use `EXTERNAL Reshape' to use this name for
  1555. an external procedure.
  1556.  
  1557. 
  1558. File: g77.info,  Node: RRSpacing Intrinsic,  Next: RShift Intrinsic,  Prev: Reshape Intrinsic,  Up: Table of Intrinsic Functions
  1559.  
  1560. RRSpacing Intrinsic
  1561. ...................
  1562.  
  1563.    This intrinsic is not yet implemented.  The name is, however,
  1564. reserved as an intrinsic.  Use `EXTERNAL RRSpacing' to use this name
  1565. for an external procedure.
  1566.  
  1567. 
  1568. File: g77.info,  Node: RShift Intrinsic,  Next: Scale Intrinsic,  Prev: RRSpacing Intrinsic,  Up: Table of Intrinsic Functions
  1569.  
  1570. RShift Intrinsic
  1571. ................
  1572.  
  1573.      RShift(I, SHIFT)
  1574.  
  1575. RShift: `INTEGER' function, the `KIND=' value of the type being that of
  1576. argument I.
  1577.  
  1578. I: `INTEGER'; scalar; INTENT(IN).
  1579.  
  1580. SHIFT: `INTEGER'; scalar; INTENT(IN).
  1581.  
  1582. Intrinsic groups: `f2c'.
  1583.  
  1584. Description:
  1585.  
  1586.    Returns I shifted to the right SHIFT bits.
  1587.  
  1588.    Although similar to the expression `I/(2**SHIFT)', there are
  1589. important differences.  For example, the sign of the result is
  1590. undefined.
  1591.  
  1592.    Currently this intrinsic is defined assuming the underlying
  1593. representation of I is as a two's-complement integer.  It is unclear at
  1594. this point whether that definition will apply when a different
  1595. representation is involved.
  1596.  
  1597.    *Note RShift Intrinsic::, for the inverse of this function.
  1598.  
  1599.    *Note IShft Intrinsic::, for information on a more widely available
  1600. right-shifting intrinsic that is also more precisely defined.
  1601.  
  1602. 
  1603. File: g77.info,  Node: Scale Intrinsic,  Next: Scan Intrinsic,  Prev: RShift Intrinsic,  Up: Table of Intrinsic Functions
  1604.  
  1605. Scale Intrinsic
  1606. ...............
  1607.  
  1608.    This intrinsic is not yet implemented.  The name is, however,
  1609. reserved as an intrinsic.  Use `EXTERNAL Scale' to use this name for an
  1610. external procedure.
  1611.  
  1612. 
  1613. File: g77.info,  Node: Scan Intrinsic,  Next: Second Intrinsic (function),  Prev: Scale Intrinsic,  Up: Table of Intrinsic Functions
  1614.  
  1615. Scan Intrinsic
  1616. ..............
  1617.  
  1618.    This intrinsic is not yet implemented.  The name is, however,
  1619. reserved as an intrinsic.  Use `EXTERNAL Scan' to use this name for an
  1620. external procedure.
  1621.  
  1622. 
  1623. File: g77.info,  Node: Second Intrinsic (function),  Next: Second Intrinsic (subroutine),  Prev: Scan Intrinsic,  Up: Table of Intrinsic Functions
  1624.  
  1625. Second Intrinsic (function)
  1626. ...........................
  1627.  
  1628.      Second()
  1629.  
  1630. Second: `REAL(KIND=1)' function.
  1631.  
  1632. Intrinsic groups: `unix'.
  1633.  
  1634. Description:
  1635.  
  1636.    Returns the process's runtime in seconds--the same value as the UNIX
  1637. function `etime' returns.
  1638.  
  1639.    On some systems, the underlying timings are represented using types
  1640. with sufficiently small limits that overflows (wraparounds) are
  1641. possible, such as 32-bit types.  Therefore, the values returned by this
  1642. intrinsic might be, or become, negative, or numerically less than
  1643. previous values, during a single run of the compiled program.
  1644.  
  1645.    For information on other intrinsics with the same name: *Note Second
  1646. Intrinsic (subroutine)::.
  1647.  
  1648. 
  1649. File: g77.info,  Node: Second Intrinsic (subroutine),  Next: Selected_Int_Kind Intrinsic,  Prev: Second Intrinsic (function),  Up: Table of Intrinsic Functions
  1650.  
  1651. Second Intrinsic (subroutine)
  1652. .............................
  1653.  
  1654.      CALL Second(SECONDS)
  1655.  
  1656. SECONDS: `REAL'; scalar; INTENT(OUT).
  1657.  
  1658. Intrinsic groups: `unix'.
  1659.  
  1660. Description:
  1661.  
  1662.    Returns the process's runtime in seconds in SECONDS--the same value
  1663. as the UNIX function `etime' returns.
  1664.  
  1665.    On some systems, the underlying timings are represented using types
  1666. with sufficiently small limits that overflows (wraparounds) are
  1667. possible, such as 32-bit types.  Therefore, the values returned by this
  1668. intrinsic might be, or become, negative, or numerically less than
  1669. previous values, during a single run of the compiled program.
  1670.  
  1671.    This routine is known from Cray Fortran.  *Note CPU_Time Intrinsic::,
  1672. for a standard equivalent.
  1673.  
  1674.    For information on other intrinsics with the same name: *Note Second
  1675. Intrinsic (function)::.
  1676.  
  1677. 
  1678. File: g77.info,  Node: Selected_Int_Kind Intrinsic,  Next: Selected_Real_Kind Intrinsic,  Prev: Second Intrinsic (subroutine),  Up: Table of Intrinsic Functions
  1679.  
  1680. Selected_Int_Kind Intrinsic
  1681. ...........................
  1682.  
  1683.    This intrinsic is not yet implemented.  The name is, however,
  1684. reserved as an intrinsic.  Use `EXTERNAL Selected_Int_Kind' to use this
  1685. name for an external procedure.
  1686.  
  1687. 
  1688. File: g77.info,  Node: Selected_Real_Kind Intrinsic,  Next: Set_Exponent Intrinsic,  Prev: Selected_Int_Kind Intrinsic,  Up: Table of Intrinsic Functions
  1689.  
  1690. Selected_Real_Kind Intrinsic
  1691. ............................
  1692.  
  1693.    This intrinsic is not yet implemented.  The name is, however,
  1694. reserved as an intrinsic.  Use `EXTERNAL Selected_Real_Kind' to use
  1695. this name for an external procedure.
  1696.  
  1697. 
  1698. File: g77.info,  Node: Set_Exponent Intrinsic,  Next: Shape Intrinsic,  Prev: Selected_Real_Kind Intrinsic,  Up: Table of Intrinsic Functions
  1699.  
  1700. Set_Exponent Intrinsic
  1701. ......................
  1702.  
  1703.    This intrinsic is not yet implemented.  The name is, however,
  1704. reserved as an intrinsic.  Use `EXTERNAL Set_Exponent' to use this name
  1705. for an external procedure.
  1706.  
  1707. 
  1708. File: g77.info,  Node: Shape Intrinsic,  Next: Short Intrinsic,  Prev: Set_Exponent Intrinsic,  Up: Table of Intrinsic Functions
  1709.  
  1710. Shape Intrinsic
  1711. ...............
  1712.  
  1713.    This intrinsic is not yet implemented.  The name is, however,
  1714. reserved as an intrinsic.  Use `EXTERNAL Shape' to use this name for an
  1715. external procedure.
  1716.  
  1717. 
  1718. File: g77.info,  Node: Short Intrinsic,  Next: Sign Intrinsic,  Prev: Shape Intrinsic,  Up: Table of Intrinsic Functions
  1719.  
  1720. Short Intrinsic
  1721. ...............
  1722.  
  1723.      Short(A)
  1724.  
  1725. Short: `INTEGER(KIND=6)' function.
  1726.  
  1727. A: `INTEGER'; scalar; INTENT(IN).
  1728.  
  1729. Intrinsic groups: `unix'.
  1730.  
  1731. Description:
  1732.  
  1733.    Returns A with the fractional portion of its magnitude truncated and
  1734. its sign preserved, converted to type `INTEGER(KIND=6)'.
  1735.  
  1736.    If A is type `COMPLEX', its real part is truncated and converted,
  1737. and its imaginary part is disgregarded.
  1738.  
  1739.    *Note Int Intrinsic::.
  1740.  
  1741.    The precise meaning of this intrinsic might change in a future
  1742. version of the GNU Fortran language, as more is learned about how it is
  1743. used.
  1744.  
  1745. 
  1746. File: g77.info,  Node: Sign Intrinsic,  Next: Signal Intrinsic (subroutine),  Prev: Short Intrinsic,  Up: Table of Intrinsic Functions
  1747.  
  1748. Sign Intrinsic
  1749. ..............
  1750.  
  1751.      Sign(A, B)
  1752.  
  1753. Sign: `INTEGER' or `REAL' function, the exact type being the result of
  1754. cross-promoting the types of all the arguments.
  1755.  
  1756. A: `INTEGER' or `REAL'; scalar; INTENT(IN).
  1757.  
  1758. B: `INTEGER' or `REAL'; scalar; INTENT(IN).
  1759.  
  1760. Intrinsic groups: (standard FORTRAN 77).
  1761.  
  1762. Description:
  1763.  
  1764.    Returns `ABS(A)*S', where S is +1 if `B.GE.0', -1 otherwise.
  1765.  
  1766.    *Note Abs Intrinsic::, for the function that returns the magnitude
  1767. of a value.
  1768.  
  1769.